package interfaces;

import java.util.List;

import model.Aposta;
import model.Apostador;
import model.Jogo;
import model.Placar;
import model.Pontos;
import model.Rodada;
import model.Time;

public interface IFachada {

	Aposta salvarAposta(Aposta aposta);

	Aposta atualizarAposta(Aposta aposta);

	Aposta removerAposta(Aposta aposta);

	List<Aposta> listarApostas();

	Aposta getApostaPorId (Long id);

	



	Apostador salvarApostador(Apostador apostador);

	Apostador atualizarApostador(Apostador apostador);

	Apostador removerApostador(Apostador apostador);

	List<Apostador> listarApostadores();

	Apostador getApostadorPorId(Long id);

	Apostador getApostadorPorCpf (String cpf);


	Jogo salvarJogo (Jogo jogos);

	Jogo atualizarJogo (Jogo jogos);

	Jogo removerJogo (Jogo jogos);

	List<Jogo> listarJogos();

	Jogo getJogoPorId (Long id);
	
	Jogo getJogoPorPlacar (Placar placar);
	
		
	Placar salvarPlacar (Placar placar);
	
	Placar atualizarPlacar (Placar placar);
	
	Placar removerplacar (Placar placar);
	
	List<Placar> listaPlacar();
	
	Placar getPlacarPorGol (String gol);
	
	
	Pontos salvarPontos (Pontos pontos);
	
	Pontos atualizarPontos (Pontos pontos);
	
	Pontos removerPontos (Pontos pontos);
	
	List<Pontos> listaPontos();
	
	Pontos getPontosPorId (Long id);



	Rodada salvarRodada (Rodada rodada);

	Rodada atualizarRodada (Rodada rodada);

	Rodada removerRodada (Rodada rodada);

	List<Rodada> listarRodadas();

	Rodada getRodadas (String rodadas);

	

	Time salvarTime(Time time);

	Time atualizarTime (Time time);

	Time removerTime (Time time);

	List<Time> listarTimes();
	
	Time getPorTime(Long id);
		
	Time getTimePorNome (String nome);

	
	
}
